1. Field of the Invention
The present invention relates to piconet wireless networks. More particularly, it relates to frequency offset compensation between piconet devices such as BLUETOOTH™ conforming wireless piconet devices.
2. Background of Related Art
Piconets, or small wireless networks, are being formed by more and more devices in many homes and offices. In particular, a popular piconet standard is commonly referred to as a BLUETOOTH piconet. Piconet technology in general, and BLUETOOTH technology in particular, provides peer-to-peer communications over short distances.
The wireless frequency of piconets may be 2.4 GHz as per BLUETOOTH standards, and/or typically have a 20 to 100 foot range. The piconet RF transmitter may operate in common frequencies which do not necessarily require a license from the regulating government authorities, e.g., the Federal Communications Commission (FCC) in the United States. Alternatively, the wireless communication can be accomplished with infrared (IR) transmitters and receivers, but this is less preferable because of the directional and visual problems often associated with IR systems.
A plurality of piconet networks may be interconnected through a scatternet connection, in accordance with BLUETOOTH protocols. BLUETOOTH network technology may be utilized to implement a wireless piconet network connection (including scatternet). The BLUETOOTH standard for wireless piconet networks is well known, and is available from many sources, e.g., from the web site www.bluetooth.com.
According to the BLUETOOTH specification, BLUETOOTH systems typically operate in a range of 2400 to 2483.5 MHz, with multiple RF channels. For instance, in the US, 79 RF channels are defined as f=2402+k MHz, k=0, . . . , 78. This corresponds to 1 MHz channel spacing, with a lower guard band (e.g., 2 MHz) and an upper guard band (e.g., 3.5 MHz).
FIG. 4 depicts a piconet including a master BLUETOOTH device M1, and three slave BLUETOOTH devices S1-S3. As depicted in FIG. 4, communications from each of the slave BLUETOOTH devices S1-S3 carries its own frequency offset possibilities.
For instance, according to BLUETOOTH standards, the transmitted initial center frequency accuracy must be +/−75 kHz from a channel center frequency fc. The initial frequency accuracy is defined as being the frequency accuracy before any information is transmitted. The frequency drift requirement is not included in the +/−75 kHz. In a one slot packet, the maximum frequency drift in a packet is +/−25 kHz.
The channel is represented by a pseudo-random hopping sequence hopping through the 79 or 23 RF channels. The hopping sequence is unique for the piconet and is determined by the BLUETOOTH device address of the master; the phase in the hopping sequence is determined by the BLUETOOTH clock of the master. The channel is divided into time slots where each slot corresponds to an RF hop frequency. Consecutive hops correspond to different RF hop frequencies. The nominal hop rate is 1600 hops/s. All BLUETOOTH units participating in the piconet are time- and hop-synchronized to the channel.
The channel is divided into time slots, each 625 uS in length. The time slots are numbered according to the BLUETOOTH clock of the piconet master. The slot numbering ranges from 0 to 227−1 and is cyclic with a cycle length of 227.
In the time slots, master and slave can transmit packets.
A time division duplex (TDD) scheme is used where master and slave alternatively transmit. The master starts its transmission in even-numbered time slots only, and the slave starts its transmission in odd-numbered time slots only. The packet start is aligned with the slot start. Packets transmitted by the master or the slave may extend over up to five time slots.
The RF hop frequency remains fixed for the duration of a packet. For a single packet, the RF hop frequency to be used is derived from the current BLUETOOTH clock value. For a multi-slot packet, the RF hop frequency used for the entire packet is derived from the BLUETOOTH clock value in the first slot of the packet. The RF hop frequency in the first slot after a multi-slot packet uses the frequency as determined by the current BLUETOOTH clock value.
If a packet occupies more than one time slot, the hop frequency applied is the hop frequency as applied in the time slot where the packet transmission was started.
Data on the piconet channel is conveyed in packets. FIG. 5A shows the general packet format 500 as described in the BLUETOOTH specification.
In particular, as shown in FIG. 5A, each standard BLUETOOTH packet 500 includes an access code 502, a header 504, and a payload 506. The access code 502 and header 504 are of fixed size: 72 bits and 54 bits, respectively. The payload 506 can range from zero to a maximum of 2745 bits. Different packet types have been defined. Packets may consist of a shortened access code 502 only, of the access code 502 and header 504, or of the access code 502, header 504, and payload 506.
Each standard packet 500 starts with an access code 502. If a packet header 504 follows, the access code 502 is 72 bits long. Otherwise, the access code 502 is 68 bits long. This access code 502 is used for synchronization, DC offset compensation and identification. The access code 502 identifies all packets 500 exchanged on the channel of the piconet: all packets sent in the same piconet are preceded by the same channel access code.
In the receiver of the BLUETOOTH device, a sliding correlator correlates against the access code 502 and triggers when a threshold is exceeded. This trigger signal is used to determine the receive timing.
FIG. 5B shows in more detail the access code 502 of the standard packet 500 shown in FIG. 5A.
In particular, as shown in FIG. 5B, the access code 502 of the standard packet 500 includes a preamble 510, a sync word 512, and possibly a trailer 514.
The preamble 510 is a fixed zero-one pattern of 4 symbols used to facilitate DC compensation. The sequence is either 1010 or 0101, depending on whether the LSB of the following sync word is 1 or 0, respectively.
The sync word 512 is a 64-bit code word derived from a 24 bit address lower address part (LAP).
Thus, the BLUETOOTH specification allows for up to +/−75 kHz of initial frequency offset for a transmitter at the start of a burst. If one assumes that both transmitter and receiver have the same tolerance, then this would imply that up to +/−150 kHz offset may exist between a transmitter of a first wireless piconet device and a receiver of another wireless piconet device at the beginning of any given packet. Furthermore, since from a master's perspective consecutive slot packets coming from different slaves have no relationship to each other in terms of frequency offset, they too could be as much as 150 kHz different. This is a fairly significant offset considering that the minimum FSK tone deviation is only 115 kHz.
BLUETOOTH devices typically require a receiver in any given BLUETOOTH device to perform a frequency offset correction during the preamble of each and every packet. However, this requirement poses a challenge because there are only five (5) bits of preamble 10101 used to train the receiver before the sync word needs to be demodulated and recognized.
Prior attempts have focused on increasing the speed with which frequency offset is computed during the five (5) bit preamble. However, increased speeds typically require more powerful (and expensive) processors, and generally increase power draw requirements.
There is a need for an improved apparatus and technique for compensating for frequency offsets as between piconet devices in a quick and efficient manner.